--
-- postgresql脚本示例
-- huangtao117@gmail.com
--
-- 1.安装好postgresql后建立demo数据库
-- createdb demo
-- 2.命令行管理工具连接demo
-- psql demo
-- 3.导入脚本
-- /i demo_postgresql.sql
-- 4.导入成功后可以查看表和函数
-- /df或者/dt
-- 5.退出
-- /q
--

--
-- 表
--

CREATE TABLE IF NOT EXISTS t_demo(
    id serial PRIMARY KEY,
    name text,
	score int DEFAULT 0
);
delete from t_demo;
insert into t_demo(name,score) values('赵云',98);
insert into t_demo(name,score) values('张飞',99);
insert into t_demo(name,score) values('吕布',100);

-- --------------------------------------------------
-- 存储过程
-- --------------------------------------------------
--
CREATE OR REPLACE FUNCTION cf_test(a integer, b integer) RETURNS integer AS $$
DECLARE
    s integer := 0;
BEGIN
    s := a + b;
    RETURN s;
END;
$$ LANGUAGE plpgsql;

CREATE OR REPLACE FUNCTION cf_test2(a integer, b integer, c real, d text)
    RETURNS TABLE(
        sum integer,
        cf real,
        echo text
    ) AS $$
DECLARE
    s integer := 0;
    r1 real := 0;
    r2 text;
BEGIN
    s := a + b;
	r1 := c * 2;
    r2 := d || '-echo!';
    RETURN QUERY SELECT s,r1,r2;
END;
$$ LANGUAGE plpgsql;
